﻿Public Class KanCubuguRapor
	Inherits ProcessReport

	Dim tarih As Input

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Text = "Kan Çubuğu Ödeneği Raporu"
				tarih = AddDateRange("tarih", "nl", YMD(Today), YMD(Today))
				'AddCombo("RapTuru", "Rapor Türü", "0,Detaylı|1,Özet|2,Aylık Toplam|3,Kasa Ödeme Raporu", "width=15;nl", "0")
			Case EventType.ValidateForm
				Rs = Saglik.Kancubugu.Liste(Remote, tarih(1).get, tarih(2).get)
				Filter.Add("Yasaya göre", "yasa", "SSY:Sosyal Sigortalar,SGY:Sosyal Güvenlik")
				Filter.Add("Aktif/Pasif durumuna göre", "sdrm", "A:Aktif sigortalı,P:Pasif sigortalı")
				Filter.Add("Şubeye göre", "sube", "1:Lefkoşa şubesi,2:Girne şubesi,3:Mağusa şubesi,4:İskele bürosu,5:Güzelyurt şubesi,6:Lefke bürosu,7:Merkez")
				Filter.Add("Yakınlığına göre", "gysyakin", "")
				Filter.Recordset = Rs
				e.Result = True
			Case EventType.PageHeader
				Report.PrintReportInfo("KAN ÇUBUĞU ÖDEME RAPORU", "TARİH: " & FormatDateInterval(tarih(1).Get, tarih(2).Get))
				Report.SetColumns("Sıra;Kayıt no;Sigorta no.;Kimlik;Şube;Adı soyadı;Mür.tar.;İşlem tar.; Dosya no.;Fat.no.;Fat.mik.;Öd.mik.", "2;3;3;3;2;7;3;3;3;3;3;3", "l;l;c;c;c;l;d;d;r;r;m;m", "--n")
			Case EventType.ReportDetail
				Dim sayac As Int16 = 1
				For Each Row In Rs
					Report.Print(sayac, Rs("rowid"), Rs("sno"), Rs("kimlik"), Rs("sube"), Trim(Rs("Adi")) & " " & Trim(Rs("soyadi")), Rs("MurTar"), Rs("islemtar"), Rs("dosyano"), Rs("fatura"), Rs("faturamik"), Rs("odemik"))
					sayac += 1
				Next
				Report.PrintTotal("<cs=10>", Rs.Sum("faturamik"), Rs.Sum("odemik"))
		End Select
	End Sub
End Class

Public Class KanCubuguKurulKayitGuncelleme
	Inherits Process

	Dim ExcelBaslik As String = ""
	Dim Rs2 As Recordset

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)


		Select Case e.EventType
			Case EventType.Initialize
				Text = "Kan Çubuğu Kurul Kaydı Güncelleme/Silme"
				' AddField("*AktifPasif", "nl;colspan=3")
				'AddField("Yasa")
				AddText("Kurulno", "Kurulno", "width=7;nl", "", "")
				StartBody()
				'[sno],[adi],[soyadi],[kurulno],[kurulbastar],[kurulsontar],[hturu],[kararno],[ilacadi],[sube,[islemtar],[sdrm],[acik],[rowid]
				AddField("kimlik")
				AddField("sno", "nl")
				AddText("adi", "Ad", "width=10", "", "")
				AddText("soyadi", "Soyad", "width=12;nl", "", "")
				AddDate("kurulbastar", "Kurul Baş.Tar.")
				AddDate("kurulsontar", "Kurul Bit.Tar.", "nl")
				AddField("hturu")
				AddField("kararno", "nl")
				AddText("ilacadi", "İlaç Adı", "width=10", "", "")
				AddCombo("Sube2", "Şube", "0,(TÜM ŞUBELER)|1,LEFKOŞA|2,GİRNE|3,MAĞUSA|4,İSKELE|5,GÜZELYURT|6,LEFKE|7,MERKEZ", "width=15;nl", "0")
				AddDate("islemtar", "İşlem Tarihi")
				AddCombo("sdrm", "Sigortalı Durum", "A|Aktif,P|Pasif", "nl")
				AddText("acik", "Açıklama", "width=10", "", "")
				AddText("rowid", "Kayıt Seri No", "width=6;nl", "", "")

			Case EventType.Export
				Rs.Export(ExcelBaslik)

			Case EventType.ValidateForm

				Dim BloodSqlStr
				Dim SS_SG_Kriter As String = ""
				Dim selectStr As String = ""

				If Check("kurulno", IsEmpty("kurulno"), "Kurul Tarihini girmek zorundasınız !") Then Exit Sub

				BloodSqlStr = "select * from ssdmerkez..skurulcubuk  where  kurulno=" & Input("kurulno")

				Rs = Remote.OpenSQL(BloodSqlStr)


				If Rs.EOF Then
					If Confirm("Bu kriterlerde yapılmış kan çubuğu kurul kaydı bulunamadı, başka bir sorgulama yapmak istiyormusunuz?") Then
						Focus("kurulno")
						Exit Sub
					Else
						'[sno],[adi],[soyadi],[kurulno],[kurulbastar],[kurulsontar],[hturu],[kararno],[ilacadi],[sube,[islemtar],[sdrm],[acik],[rowid]
					End If
					'Input("AktifPasif") = "A"
				End If

				SetValues("kimlik,sno,adi,soyadi,kurulbastar,kurulsontar,hturu,kararno,ilacadi,Sube2,islemtar,sdrm,acik,rowid", _
					Rs("kimlik"), Rs("sno"), Rs("adi"), Rs("soyadi"), Rs("kurulbastar"), Rs("kurulsontar"), Trim(Rs("hturu")), Trim(Rs("kararno")), Rs("ilacadi"), Rs("Sube"), Rs("islemtar"), Rs("sdrm"), Rs("acik"), Rs("rowid"))


				Enabled("rowid") = False

				Buttons.Show("Save.Delete.Reset")

				e.Result = True

			Case EventType.Save
				'Try
				Rs = Remote.OpenSQL("select * from ssdmerkez.dbo.skurulcubuk  where  kurulno=" & Input("kurulno"))
				If Rs.EOF Then Rs.AddNew()

				Rs.SetValues("kimlik,sno,adi,soyadi,kurulbastar,kurulsontar,hturu,kararno,ilacadi,Sube,islemtar,sdrm,acik,rowid", _
				 Input("kimlik"), Input("sno"), Input("adi"), Input("soyadi"), Input("kurulbastar"), Input("kurulsontar"), Input("hturu"), Input("kararno"), Input("ilacadi"), Input("Sube2"), Input("islemtar"), Input("sdrm"), Input("acik"), Input("rowid"))

				Rs.Save()
				Info("Kayıt işlemi başarıyla tamamlanmıştır.")
				ResetForm()

				'Catch ex As Exception
				'    Warning("İşlem sırasında bir hata oluştu.", ex.Message)
				'End Try

			Case EventType.Delete

				If Not Confirm("Bu seçili kaydı tamamen silmek istediğinize emin misiniz?") Then Exit Sub
				If Not (Input("rowid") = "") Then
					Saglik.Kancubugu.KurulSil(Remote, Input("rowid"))
					Info("Silme işlemi başarıyla tamamlanmıştır.")
				Else
					Warning("Silinecek bir kayıt yok !")
				End If

				ResetForm()

		End Select
	End Sub
End Class
